package com.warybee.mqspring.adapter;/**
 * All rights Reserved, Designed By warybee
 *
 * @description:
 * @author: jeebee
 */

import com.warybee.mqspring.entity.Order;
import com.warybee.mqspring.entity.User;
import org.springframework.amqp.core.Message;

import java.util.Map;

/**
 *@Description TODO
 *@author jeebee
 */
public class MessageDelegate {

     /**
      * 消息接受的默认方法，可以通过MessageListenerAdapter类的setDefaultListenerMethod修改
      * @param messageBody
      */
     public void handleMessage(Message messageBody){
          System.out.println("接收到的消息："+new String(messageBody.getBody()));
     }

     public void handleMessage(String messageBody){
          System.out.println("接收到的消息："+messageBody);
     }

     public void method1(String messageBody){
          System.out.println("method1 接收到的消息："+messageBody);
     }

     public void method2(String messageBody){
          System.out.println("method2 接收到的消息："+messageBody);
     }

     /**
      * JSON格式的消息 转化为Map
      * @param messageBody
      */
     public void handleMessage(Map messageBody){
          System.out.println("JSON格式的消息 接收到的消息："+messageBody.get("id")+":"+messageBody.get("title")+":"+messageBody.get("desc"));
     }

     /**
      * JSON格式的消息 转化为Java对象
      * @param order
      */
     public void handleMessage(Order order){
          System.out.println("order 接收到的消息："+order.getId()+"-"+order.getTitle()+"-"+order.getDesc());
     }

     /**
      * JSON格式的消息 转化为Java对象
      * @param user
      */
     public void handleMessage(User user){
          System.out.println("user 接收到的消息："+user.getId()+"-"+user.getUserName());
     }

}
